import numpy as np

def quaternion_to_rotation_matrix(q):
    """
    将四元数转换为旋转矩阵
    :param q: 四元数，格式为 [w, x, y, z]
    :return: 3x3 旋转矩阵
    """
    w, x, y, z = q

    # 计算旋转矩阵
    R = np.array([
        [1 - 2 * (y ** 2 + z ** 2), 2 * (x * y - z * w), 2 * (x * z + y * w)],
        [2 * (x * y + z * w), 1 - 2 * (x ** 2 + z ** 2), 2 * (y * z - x * w)],
        [2 * (x * z - y * w), 2 * (y * z + x * w), 1 - 2 * (x ** 2 + y ** 2)]
    ])
    
    return R

# 示例使用
q = [0.7071, 0.0, 0.7071, 0.0]  # 示例四元数
rotation_matrix = quaternion_to_rotation_matrix(q)
print("旋转矩阵:")
print(rotation_matrix)
